#pragma once

#include "qlib/all.h"
#include "../../tools/layer_interface.h"
namespace qbe::editing::BooleanOperation {

struct BooleanOperationModel {
  qlib::Cell::s_ptr cell;
  bool is_open_ui = false;
  bool m_ok_enable = false;
  std::vector<std::pair<entt::entity,  qlib::PolygonPtrArray>> m_operate_select_arr;
  std::unordered_set<uint32_t> m_select_layer_set;

  std::pair<entt::entity,  qlib::PolygonPtrArray> m_element_a;
  std::pair<entt::entity,  qlib::PolygonPtrArray> m_element_b;


  tools::LayerInterfaceObjcet layer_interface;
};
}